package org.wxf.service.impl;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.bao.utils.MyUtils;
import org.wxf.bean.AdminInfoBean;
import org.wxf.db.DBProvider;
import org.wxf.service.IAjaxDemoService;

public class AjaxDemoServiceImpl implements IAjaxDemoService {

	@Override
	public List<AdminInfoBean> queryLoginInfoByParams(AdminInfoBean adminB) {
		// 组织查询语句
		StringBuilder sbQuerySql = new StringBuilder(" select * from phone where 1=1 ");

		// 查询条件的参数集合
		List<Object> lstParams = new ArrayList<>();
		if (adminB != null) {
			// 根据查询条件动态拼写查询条件
			// 手机名模糊查询
			String strName = adminB.getPhonename();
			if (strName != null && !strName.equals("")) {
				// 添加手机名的模糊查询条件
				sbQuerySql.append(" and phonename like ? ");
				// 保存查询参数
				lstParams.add("%" + strName + "%");
			}
		}
		sbQuerySql.append("order by phoneid desc");

		// 调用db层进行数据库查询操作
		List<AdminInfoBean> lstAdmins = MyUtils.getInstance(DBProvider.class).query(sbQuerySql.toString(),
				new BeanListHandler<>(AdminInfoBean.class), lstParams.toArray());
		// 返回结果
		return lstAdmins;
	}

	@Override
	public List<AdminInfoBean> queryUserMessageByParams(AdminInfoBean adminB) {
		// 组织查询语句
		StringBuilder sbQuerySql = new StringBuilder(" select * from usermessage where 1=1");

		// 查询条件的参数集合
		List<Object> lstParams = new ArrayList<>();
		if (adminB != null) {
			// 根据查询条件动态拼写查询条件
			// 手机名模糊查询
			String strName = adminB.getUsername();
			if (strName != null && !strName.equals("")) {
				// 添加手机名的模糊查询条件
				sbQuerySql.append(" and username = ?");
				// 保存查询参数
				lstParams.add("%" + strName + "%");
				//用户id倒序显示
			}
		}
		sbQuerySql.append("order by userid desc");
		

		// 调用db层进行数据库查询操作
		List<AdminInfoBean> lstAdmins = MyUtils.getInstance(DBProvider.class).query(sbQuerySql.toString(),
				new BeanListHandler<>(AdminInfoBean.class), lstParams.toArray());
		// 返回结果
		return lstAdmins;
	}

	@Override
	public List<AdminInfoBean> queryAdmininfoByParams(AdminInfoBean adminB) {
		// 组织查询语句
		StringBuilder sbQuerySql = new StringBuilder(" select * from admininfo where 1=1 ");

		// 查询条件的参数集合
		List<Object> lstParams = new ArrayList<>();
		if (adminB != null) {
			// 根据查询条件动态拼写查询条件
			// 手机名模糊查询
			String strName = adminB.getAdminname();
			if (strName != null && !strName.equals("")) {
				// 添加管理名的模糊查询条件
				sbQuerySql.append(" and adminname like ? ");
				// 保存查询参数
				lstParams.add("%" + strName + "%");
			}
		}

		// 调用db层进行数据库查询操作
		List<AdminInfoBean> lstAdmins = MyUtils.getInstance(DBProvider.class).query(sbQuerySql.toString(),
				new BeanListHandler<>(AdminInfoBean.class), lstParams.toArray());
		// 返回结果
		return lstAdmins;
	}

	@Override
	public List<AdminInfoBean> queryAdmininfoDelByParams(AdminInfoBean adminB) {
		
		return null;
	}

	
	/**
	 * 订单查询
	 */
	@Override
	public List<AdminInfoBean> queryShoppingByParams(AdminInfoBean adminB) {
		// 组织查询语句
		StringBuilder sbQuerySql = new StringBuilder(" select * from shoppingrecord where 1=1 ");

		// 查询条件的参数集合
		List<Object> lstParams = new ArrayList<>();
		if (adminB != null) {
			// 根据查询条件动态拼写查询条件
			// 手机名模糊查询
			String strName = adminB.getUsertel();
			if (strName != null && !strName.equals("")) {
				// 添加管理名的模糊查询条件
				sbQuerySql.append(" and usertel like ? ");
				// 保存查询参数
				lstParams.add("%" + strName + "%");
			}
		}

		// 调用db层进行数据库查询操作
		List<AdminInfoBean> lstAdmins = MyUtils.getInstance(DBProvider.class).query(sbQuerySql.toString(),
				new BeanListHandler<>(AdminInfoBean.class), lstParams.toArray());
		// 返回结果
		return lstAdmins;
	}
}
